Along with the increasing use of computer-generated animation, a number of computer-based animating tools have been developed which allow animators to more easily specify and manipulate computer-based animations.
One particularly cumbersome task is to specify the behavior of large groups of independently moving or evolving objects within a computer animation. Existing tools for producing computer-generated animation require the behavior of individual objects to be specified individually. This can require a great deal of time for a large number of objects. Furthermore, much of the effort involved in individually specifying the actions of objects is wasted for groups of objects, such as a school offish, which individually exhibit similar or predictable behavior.
Editors for non-animated graphical objects such as the MacDraw program, produced by Apple Computer Corporation of Cupertino, Calif., allow groups of graphical objects within a graphical image to be combined together into a “group.” Subsequent editing operations performed on the “group” are applied to all elements of the group. For example, if the position of an object within a group is changed, corresponding positions for other objects within the group are changed in the same way. In another example, if the vertical dimension of an object within a group is stretched by a factor of two, the vertical dimensions of all other objects in the group are similarly stretched in the vertical dimension by a factor of two. This grouping feature of graphical editors such as MacDraw can significantly simplify the manipulation of groups of graphical objects within a graphical image. However, such grouping operations have so far been applied only to non-moving graphical images, not animations.
Furthermore, such grouping operations are relatively inflexible in the way that objects within a group are modified. In order to edit an attribute of an object within a group without editing corresponding attributes of the other objects within the group, the group must be “ungrouped,” before the object can be individually edited, and the objects must subsequently be regrouped. This is an awkward and time-consuming process.
What is needed is an editing tool for creating computer-generated animation which allows an original object to be decomposed into a group of objects.
Additionally, what is needed is an editing tool for creating computer-generated animation which allows groups of objects to be manipulated collectively while providing a flexible method for easily modifying attributes of individual objects within the group.
When adding a static annotation of an existing image, there are key considerations to keep into account in order to obtain a meaning result:                Avoid hiding meaningful areas of the image        Make sure the annotated text is appropriately legible        Convey the additional meaning in the most effective way        
For the purpose of describing the ideas behind this invention, we will extend the concept of a static annotation to an Animated Text Sequence (ATS) in the following way:
An Animated Text Sequence starts with a collection of glyphs, letters, words, or other text components, appearing individually or collectively in a certain order and graphically rendered with certain effects, with such effects evolving over time in any fashion, and resulting in a final frame that is similar to a static annotation where a subset of, or the full content of, the original text sequence can be read.
When such an ATS is added to an existing image, additional constraints appear compared to the considerations mentioned above for a static annotation:
Ensure that the constraints from the static case are preserved as much as possible for each individual frame of the animation;
Integrate the animated text sequence within the spatial structure of the image;
Take advantage of certain text animation styles (TAS) to convey additional meaning thanks to the use of appropriate kinetic typography principles.